/*
 * Copyright 2022 Pnoker All Rights Reserved
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.ruoyi.project.business.controlcenter.iot.constant;

/**
 * dc3平台常量
 *
 * @author pnoker
 */
public interface CommonConstant {

    /**
     * 系统的 user_id
     */
    final static long SYSTEM_USER_ID = 0L;

    /**
     * 符号相关
     */
    interface SYMBOL {
        /**
         * 点
         */
        String DOT = ".";

        /**
         * 下划线
         */
        String UNDERSCORE = "_";

        /**
         * 星号
         */
        String ASTERISK = "*";

        /**
         * 井号
         */
        String HASHTAG = "#";

        /**
         * 分隔符
         */
        String SEPARATOR = "::";

        /**
         * 斜线
         */
        String SLASH = "/";
    }


    /**
     * 0:无 1: binding  2: binded 3: failed-binding
     */
    interface DEVICE_BIND_STATUS {
        int NONE = 0;
        int BINDING = 1;
        int BINDED = 2;
        int FAILED_BINDING = 3;
        int UNBINDING = 4;

    }

    /**
     * 0: 待处理 1: 已处理
     */
    interface IOT_MESSAGE_STATUS {
        int TODO = 0;
        int DONE = 1;
    }

    /**
     */
    interface ONOFF {
        int ON = 1;
        int OFF = 0;
    }

    /**
     */
    interface QOS {
        int AT_MOST_ONCE = 0;
        int AT_LEAST_ONCE = 1;
        int ONLY_ONCE = 2;
    }

    /**
     */
    interface DOUYIN_USER_TYPE {
        int DOUYIN_WEB_APP = 1;
        int DOUYIN_MICRO_APP = 2;
    }

    /**
     */
    interface WEIXIN_USER_TYPE {
        int WEIXIN_WEB_APP = 1;
        int WEIXIN_MICRO_APP = 2;
    }
    /**
     */
    interface DATE_FORMAT {
        String DATE = "yyyy-MM-dd";
    }
    /**
     */
    interface DEVICE_ON_OFF {
        int ON = 1;
        int OFF = 0;
    }

}
